Copy Protection

SoftwareShield System Feature Guide > Copy Protection

## Copy Protection

Copy-Protection refers to a protection mechanism you can optionally include in your license which the ClientProtector enforces every time it starts up (by the StartUp function call).

When enabled, every time the program starts (and StartUp is called), the ClientProtector checks that the host computer is explicitly authorized to use the license. This is done by computing the host systems full-length FingerPrint according to a set of included FingerPrint option flags and comparing that to a list of explicitly authorized FingerPrints stored inside the license. This functionality is in addition to the functionality described for FingerPrint All Activation Codes. To clarify, when Copy-Protection is on, FingerPrinting must also be on, since it is this mechanism which allows for the underlying Copy-Protection logic.

While FingerPrinting alone prevents Activation Codes from being illegally input by users (machines) for which they were not intended, the Copy-Protection mechanism goes one step further. The Copy-Protection mechanism ensures that even if a user gets a legal copy of your software and unlocks their license by inputting a valid Activation Code you provide them, they cannot copy all the files to a second machine. Even if they can find and isolate the Main License File, any and all Alias Files in the correct locations, Virgin Registry Data and can recreate/copy all of them onto another machine correctly - they will be unsuccessful at defeating your license since the Copy-Protection mechanism will find that the authorized FingerPrint stored inside it will not match the second machine.

It is important to understand that you do not have to use Copy-Protection to get the protection of FingerPrinting (which prevents Activation Codes alone from being illegally used by others). See FingerPrinting / Machine Locking for more information.

When the StartUp function is called, and the Copy-Protection mechanism is on, and the host machine is not yet authorized, the ClientProtector will fire an event back to your application. This event (OnAttemptReleaseCP) allows your program the opportunity to provide your user with an Authorization Request Code to release the Copy-Protection as well as input an Activation Code which does so. For a view of the logical flow of control, see the SoftwareShield ClientProtector Control Flow-Charts.

#### More Information

For help on actually turning Copy-Protection on in your license, see License Behaviour Tab in the SoftwareShield License Manager Reference.

For help on understanding the FingerPrinting sub-system, see FingerPrinting / Machine Locking in this reference.

For help on how to get your software to connect to ClientProtector events, see Creating a ClientProtector COM Event Sink in the SoftwareShield ClientProtector Reference. See also OnAttemptReleaseCP.